<?php

$traduccion = new Zend_Translate('array', APPLICATION_PATH . '/idiomas/es.php', 'es');  
Zend_Form::setDefaultTranslator($traduccion); 

class Application_Form_Carrera extends Zend_Form
{

    protected function generaDecorador($id) {
         return array(
                    'Errors',
                    'ViewHelper',
                    'Description',
                    array('Label',array('class' => 'imitar_h2')),
                    array('HtmlTag', array('tag' => 'Fieldset', 'id' => $id, 'class' => 'elemento' ))
                ); 
    }
    
    public function init()
    {
        
        $this->addElement(
            'text', 'nombre', array(
                    'decorators' => $this->generaDecorador("fieldset_nombre"),
                    'label' => 'Nombre:',
                    'required' => true,
                    array('alpha')
                )
        );
        
        $this->addElement(
            'textarea', 'descripcion', array(
                    'decorators' => $this->generaDecorador("fieldset_descripcion"),
                    'label' => 'Descripción:',
                    array('alpha')
                )
        );
        
        //para sabr que decoradores declarar mire el
        //archivo Zend/Form/Element/File.php línea 77
        $image = new Zend_Form_Element_File('imagen');
        $image->setLabel('Cargar una imagen:')
            ->setDecorators(array(
                    'File',
                    'Errors',
                    'Description',
                    array('Label',array('class' => 'imitar_h2')),
                    array('HtmlTag', array('tag' => 'Fieldset', 'id' => 'fieldset_imagen', 'class' => 'elemento btn btn-warning form_img_margen' ))
                ));
        $image->addValidator('Count', false, 1);                // ensure only 1 file
        $image->addValidator('IsImage',array('image/bmp', 'image/gif', 'image/jpeg', 'image/png'));

        $this->addElement($image);
        
        //demas datos
        $this->addElement(
            'text', 'fecha_inicio', array(
                    'decorators' => $this->generaDecorador("fieldset_fecha_inicio"),
                    'label' => 'Fecha de inicio:',
                    array('alpha')
                )
        );
        $this->addElement(
            'text', 'horario', array(
                    'decorators' => $this->generaDecorador("fieldset_horario"),
                    'label' => 'Horario:',
                    array('alpha')
                )
        );
        $this->addElement(
            'text', 'duracion', array(
                    'decorators' => $this->generaDecorador("fieldset_duracion"),
                    'label' => 'Duración:',
                    array('alpha')
                )
        );
        $this->addElement(
            'text', 'costo', array(
                    'decorators' => $this->generaDecorador("fieldset_costo"),
                    'label' => 'Costo:',
                    array('alpha')
                )
        );
        $this->addElement(
            'submit', 'Crear', array('class' => 'btn btn-large btn-warning')
        );
        
                
    }
    
    public function inicializar($carrera){
        $nombre = $this->getElement('nombre');
        $nombre->setValue($carrera->nombre);
        $descrip = $this->getElement('descripcion');
        $descrip->setValue($carrera->descripcion);
        $imagen = $this->getElement('imagen');
        $imagen->setValue($carrera->imagen);
        $fecha = $this->getElement('fecha_inicio');
        $fecha->setValue($carrera->fecha_inicio);
        $horario = $this->getElement('horario');
        $horario->setValue($carrera->horario);
        $duracion = $this->getElement('duracion');
        $duracion->setValue($carrera->duracion);
        $costo = $this->getElement('costo');
        $costo->setValue($carrera->costo);
        return $this;
    }

}

